// 该文件封装了一个自定义插件,用于注册全局组件
import svgIcon from './svgIcon/index.vue'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const allGlobalComponent:object={svgIcon}
// 对外暴露插件对象
export default {
    // 当使用use方法注册插件时,会自动调用该插件的install方法,并传参(app实例,option配置对象)
    install(app:any){
        const keys=Object.keys(allGlobalComponent) 
        // 返回值为一个包含该可迭代对象所有属性值名称(键)的数组
        keys.forEach(key =>{
            app.component(key,allGlobalComponent[key])
        })
        // 从keys数组中依次取值,并对其执行一次传入的函数

        // Object.entries()方法返回一个数组,包含给定对象属性的键和值
        // 将所有ElementPlus的icon注册为全局组件
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component)
          }
    }
}